Flash memory is a widely used type of nonvolatile memory. However, flash memory is expected to encounter scaling difficulties. Therefore, alternatives types of nonvolatile memory are being explored. Among these alternatives types of nonvolatile memory is phase change memory (PCM). PCM is a type of nonvolatile memory in which a phase of a PCE is employed to represent a unit of data. PCM has fast read and write times, non-destructive reads, and high scalability.